package com.code.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 公用方法类
 */
public class CodeUtils {

    /**
     * 是否空
     * @param str  str
     * @return
     */
    public static boolean isEmpty(String str) {
        return str == null || ("").equals(str);
    }

    /**
     * 不为空
     * @param str str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    /**
     * 逗号分隔数据格式化为数据库in条件
     * @param param str
     * @return
     */
    public static String formatterInCondition(String param) {
        if (isEmpty(param)) {
            return "";
        }
        String[] paramArr = param.split(",");
        StringBuilder rst = new StringBuilder();
        for (String pa : paramArr) {
            rst.append("'").append(pa).append("'").append(",");
        }
        return rst.toString().substring(0, rst.length() - 1);
    }


    /**
     * 格式化属性 （T_USER-->USER）
     * @param Attribute 属性
     * @param clearFirstUnderLine 是否去除第一个连线数据
     * @param isUpper 首字符是否大写
     * @return
     */
    public static String formatterAttribute(String Attribute,boolean clearFirstUnderLine,boolean isUpper) {
        if (isEmpty(Attribute)) {
            return "";
        }
        String[] paramArr = Attribute.split("_");
        StringBuilder rst = new StringBuilder();
        for (int i=0;i< paramArr.length;i++) {
            if(i == 0){
                if(clearFirstUnderLine){
                    continue;
                }
                rst.append(isUpper ? upperFirstCase(paramArr[i].toLowerCase()) : paramArr[i].toLowerCase() );
                continue;
            }
            if(clearFirstUnderLine && i == 1){
                rst.append(isUpper ? upperFirstCase(paramArr[i].toLowerCase()) : paramArr[i].toLowerCase() );
                continue;
            }
            rst.append(upperFirstCase(paramArr[i].toLowerCase()));
        }
        return rst.toString();
    }

    /**
     *  首字符大写
     * @param str
     * @return
     */
    public static String upperFirstCase(String str) {
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }



}
